package com.api.utils;

import com.api.cache.CacheTemplate;

/**
 * Created by PC on 2017/7/12.
 */
public class TokenCacheUtils {
    public static final String Ndq = "ndq";

    public static String setToken(CacheTemplate cacheTemplate, int userId) {
        String token = (String) cacheTemplate.get(Ndq + userId);
        if (token != null) {
            cacheTemplate.delete(Ndq + userId);
            cacheTemplate.delete(Ndq + token);
        }
        token = PasswordHelper.generateUUID();
        cacheTemplate.set(Ndq + token, String.valueOf(userId));
        cacheTemplate.set(Ndq + userId, token);
        return token;
    }

    public static String getToken(CacheTemplate cacheTemplate, int userId) {
        return (String) cacheTemplate.get(Ndq + userId);
    }

    public static Integer getUserIdByToken(CacheTemplate cacheTemplate, String token) {
        return (Integer) cacheTemplate.get(Ndq + token);
    }

    public static void logout(CacheTemplate cacheTemplate, Integer userId) {
        String token = getToken(cacheTemplate, userId);
        cacheTemplate.delete(Ndq + token);
        cacheTemplate.delete(Ndq + userId);
    }
}
